home *** CD-ROM | disk | FTP | other *** search
-
- FORK(2) UNIX Programmer's Manual FORK(2)
-
- NNAAMMEE
- ffoorrkk - create a new process
-
- SSYYNNOOPPSSIISS
- ##iinncclluuddee <<ssyyss//ttyyppeess..hh>>
- ##iinncclluuddee <<uunniissttdd..hh>>
-
- _p_i_d___t
- ffoorrkk(_v_o_i_d)
-
- DDEESSCCRRIIPPTTIIOONN
- FFoorrkk() causes creation of a new process. The new process (child process)
- is an exact copy of the calling process (parent process) except for the
- following:
-
- ++oo The child process has a unique process ID.
-
- ++oo The child process has a different parent process ID (i.e., the
- process ID of the parent process).
-
- ++oo The child process has its own copy of the parent's descriptors.
- These descriptors reference the same underlying objects, so
- that, for instance, file pointers in file objects are shared
- between the child and the parent, so that an lseek(2) on a de-
- scriptor in the child process can affect a subsequent read or
- write by the parent. This descriptor copying is also used by
- the shell to establish standard input and output for newly cre-
- ated processes as well as to set up pipes.
-
- ++oo The child processes resource utilizations are set to 0; see
- setrlimit(2).
-
- RREETTUURRNN VVAALLUUEESS
- Upon successful completion, ffoorrkk() returns a value of 0 to the child pro-
- cess and returns the process ID of the child process to the parent pro-
- cess. Otherwise, a value of -1 is returned to the parent process, no
- child process is created, and the global variable _e_r_r_n_o is set to indi-
- cate the error.
-
- EERRRROORRSS
- FFoorrkk() will fail and no child process will be created if:
-
- [EAGAIN] The system-imposed limit on the total number of processes
- under execution would be exceeded. This limit is configu-
- ration-dependent.
-
- [EAGAIN] The system-imposed limit MAXUPRC (<_s_y_s_/_p_a_r_a_m_._h>) on the to-
- tal number of processes under execution by a single user
- would be exceeded.
-
- [ENOMEM] There is insufficient swap space for the new process.
-
- SSEEEE AALLSSOO
- execve(2), wait(2)
-
- HHIISSTTOORRYY
- A ffoorrkk(_2) function call appeared in Version 6 AT&T UNIX.
-
- 4th Berkeley Distribution June 4, 1993 1
-